package org.bonorsoft.common.system.api;

import org.bonorsoft.common.system.vo.DynamicDataSourceModel;
import org.bonorsoft.common.system.vo.LoginUser;

import java.sql.SQLException;

/**
 * @Description: 底层共通业务API，提供其他独立模块调用
 * @Author: scott
 * @Date:2019-4-20 
 * @Version:V1.0
 */
public interface ISysBaseAPI {

	/**
	 * 日志添加
	 * @param username 操作人姓名
	 * @param logType 日志类型(0:操作日志;1:登录日志;2:定时任务)
	 * @param operatetype 操作类型(1:添加;2:修改;3:删除;)
	 */
	void addLog(String username, Integer logType, Integer operatetype);
	
	/**
	  * 根据用户账号查询用户信息
	 * @param username
	 * @return
	 */
	public LoginUser getUserByName(String username);


	/**
	 * 获取当前数据库类型
	 * @return
	 * @throws Exception
	 */
	public String getDatabaseType() throws SQLException;

	/**
	 * 根据 code 查询数据库中存储的 DynamicDataSourceModel
	 *
	 * @param dbSourceCode
	 * @return
	 */
	DynamicDataSourceModel getDynamicDbSourceByCode(String dbSourceCode);


	/**
	 *更新登陆者用户信息
	 * @param loginUser
	 */
    void setLoginUser(LoginUser loginUser);
}
